The indexing and searching of structured data are important functionalities for many businesses on both sides of sales transactions. For example, sellers may provide access to catalog data (including, for example, product information on various products for sale) to buyers to allow buyers to select items to purchase or contract for. This type of usage is especially prevalent for businesses, which often procure items in large quantities directly from a supplier. Traditionally, such structured data was stored in dedicated databases. An authorized buyer, for example, would gain viewing access to a supplier's database and thus be able to search the products in the database directly.
Recently, there has been increased movement of data to the cloud. In such cloud environments, there is a lot more data (in both quantity and size) to be stored. This can complicate the process of indexing the data in order for it to be efficiently stored, but also creates the problem of efficiently storing such large amounts of data, potentially across multiple tenants. It is common, for example, for tenants to store catalog data in a multi-tenant architecture. It can be difficult, however, for a user to search for catalog data from multiple catalogs simultaneously without having advanced knowledge of the contents of each catalog.